package com.hxkj.dao.impl;

import com.hxkj.dao.UserLoginHistoryDao;
import com.hxkj.domain.po.UserLoginHistory;
import com.hxkj.mapper.UserLoginHistoryMapper;
import com.hxkj.utils.AESUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Objects;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * created by kezhijie on 2018/8/24 14:02.
 * email to kezhijie@hxoss.com
 */
@Service
public class UserLoginHistoryDaoImpl implements UserLoginHistoryDao {

    private String phoneRegex = "^((13[0-9])|(15[^4,\\D])|(18[0,5-9]))\\d{8}$";// 验证手机号

    private Pattern phone = Pattern.compile(phoneRegex);


    @Autowired
    private UserLoginHistoryMapper userLoginHistoryMapper;

    @Override
    public int saveSelective(UserLoginHistory userLoginHistory) throws Exception {

        if (Objects.isNull(userLoginHistory.getLoginTime()))
            userLoginHistory.setLoginTime(System.currentTimeMillis());

        String var = userLoginHistory.getLoginName().substring(0,3);
        String var1 = userLoginHistory.getLoginName().substring(7);
        String var2 = var.concat("****").concat(var1);
        if (phone.matcher(userLoginHistory.getLoginName()).matches())
            userLoginHistory.setLoginName(var2);

        userLoginHistory.setCreateTime(System.currentTimeMillis());
        userLoginHistory.setUpdateTime(System.currentTimeMillis());
        userLoginHistory.setDelTag("0");

        return userLoginHistoryMapper.insertSelective(userLoginHistory);
    }

    @Override
    public List<UserLoginHistory> selectListByUserId(UserLoginHistory userLoginHistory) {
        return userLoginHistoryMapper.selectListByUserId(userLoginHistory);
    }
}
